package uscdb.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

@Entity
@Table(name = "tproject")
@DynamicInsert(true)
@DynamicUpdate(true)
public class Tproject implements java.io.Serializable {

	private static final long serialVersionUID = 2226704853806660235L;
	
	private String id;
	/**
	 * 产品：UPCC、DSP
	 */
	private String productName;
	/**
	 * 片区：西欧、拉美、亚太、中东
	 */
	private String area;
	/**
	 * 项目名称
	 */
	private String name;
	/**
	 * 操作类型：新建、割接、磁针扩容、升级
	 */
	private String operationType;
	/**
	 * 当前版本
	 */
	private String currentVersion;
	/**
	 * 目标版本
	 */
	private String targetVersion;
	/**
	 * 项目类型：NFV ATCA-PT ATCA-Oracle
	 */
	private String type;
	/**
	 * 计划人力
	 */
	private String humanResources;
	/**
	 * 项目进度
	 */
	private String process;
	/**
	 * 项目质量
	 */
	private String quality;
	/**
	 * 实际人力
	 */
	private String activeHumanResources;
	/**
	 * 保障PM
	 */
	private String safeguardPM;
	/**
	 * PMO
	 */
	private String pmo;
	/**
	 * SE或者SA接口
	 */
	private String seAndSA;
	/**
	 * 维护接口
	 */
	private String maintainPM;
	/**
	 * 服务接口
	 */
	private String servicePM;
	/**
	 * 一线接口
	 */
	private String frontlinePM;
	/**
	 * 出差支撑人员
	 */
	private String supportPersonnel;
	/**
	 * 出差人员时间
	 */
	private String supportTime;
	/**
	 * 项目进展
	 */
	private String progress;
	/**
	 * 项目启动时间
	 */
	private String startDateTime;
	/**
	 * 现网操作计划
	 */
	private String operationPlan;
	/**
	 * 关键进展
	 */
	private String keyAdvances;
	/**
	 * 风险
	 */
	private String risk;
	
	/**
	 * 项目记录修改时间
	 */
	private Date modifydatetime;
	
	@Id
	@Column(name = "ID", unique = true, nullable = false, length = 36)
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	@Column(name = "productName", length = 100)
	public String getProductName() {
		return productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}

	@Column(name = "area", length = 100)
	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}

	@Column(name = "name", length = 100)
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Column(name = "operationType", length = 100)
	public String getOperationType() {
		return operationType;
	}

	public void setOperationType(String operationType) {
		this.operationType = operationType;
	}

	@Column(name = "currentVersion", length = 100)
	public String getCurrentVersion() {
		return currentVersion;
	}

	public void setCurrentVersion(String currentVersion) {
		this.currentVersion = currentVersion;
	}

	@Column(name = "targetVersion", length = 100)
	public String getTargetVersion() {
		return targetVersion;
	}

	public void setTargetVersion(String targetVersion) {
		this.targetVersion = targetVersion;
	}

	@Column(name = "type", length = 100)
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	@Column(name = "humanResources", length = 100)
	public String getHumanResources() {
		return humanResources;
	}

	public void setHumanResources(String humanResources) {
		this.humanResources = humanResources;
	}

	@Column(name = "process", length = 100)
	public String getProcess() {
		return process;
	}

	public void setProcess(String process) {
		this.process = process;
	}

	@Column(name = "quality", length = 100)
	public String getQuality() {
		return quality;
	}

	public void setQuality(String quality) {
		this.quality = quality;
	}

	@Column(name = "activeHumanResources", length = 100)
	public String getActiveHumanResources() {
		return activeHumanResources;
	}

	public void setActiveHumanResources(String activeHumanResources) {
		this.activeHumanResources = activeHumanResources;
	}

	@Column(name = "safeguardPM", length = 100)
	public String getSafeguardPM() {
		return safeguardPM;
	}

	public void setSafeguardPM(String safeguardPM) {
		this.safeguardPM = safeguardPM;
	}

	@Column(name = "pmo", length = 100)
	public String getPmo() {
		return pmo;
	}

	public void setPmo(String pmo) {
		this.pmo = pmo;
	}

	@Column(name = "seAndSA", length = 100)
	public String getSeAndSA() {
		return seAndSA;
	}

	public void setSeAndSA(String seAndSA) {
		this.seAndSA = seAndSA;
	}

	@Column(name = "maintainPM", length = 100)
	public String getMaintainPM() {
		return maintainPM;
	}

	public void setMaintainPM(String maintainPM) {
		this.maintainPM = maintainPM;
	}

	@Column(name = "servicePM", length = 100)
	public String getServicePM() {
		return servicePM;
	}

	public void setServicePM(String servicePM) {
		this.servicePM = servicePM;
	}

	@Column(name = "frontlinePM", length = 100)
	public String getFrontlinePM() {
		return frontlinePM;
	}

	public void setFrontlinePM(String frontlinePM) {
		this.frontlinePM = frontlinePM;
	}

	@Column(name = "supportPersonnel", length = 100)
	public String getSupportPersonnel() {
		return supportPersonnel;
	}

	public void setSupportPersonnel(String supportPersonnel) {
		this.supportPersonnel = supportPersonnel;
	}


	@Column(name = "progress", length = 100)
	public String getProgress() {
		return progress;
	}

	public void setProgress(String progress) {
		this.progress = progress;
	}
	
	@Column(name = "supportTime", length = 30)
	public String getSupportTime() {
		return supportTime;
	}

	public void setSupportTime(String supportTime) {
		this.supportTime = supportTime;
	}

	@Column(name = "startDateTime", length = 30)
	public String getStartDateTime() {
		return startDateTime;
	}

	public void setStartDateTime(String startDateTime) {
		this.startDateTime = startDateTime;
	}

	@Column(name = "operationPlan", length = 1000)
	public String getOperationPlan() {
		return operationPlan;
	}

	public void setOperationPlan(String operationPlan) {
		this.operationPlan = operationPlan;
	}

	@Column(name = "keyAdvances", length = 1000)
	public String getKeyAdvances() {
		return keyAdvances;
	}

	public void setKeyAdvances(String keyAdvances) {
		this.keyAdvances = keyAdvances;
	}

	@Column(name = "risk", length = 1000)
	public String getRisk() {
		return risk;
	}

	public void setRisk(String risk) {
		this.risk = risk;
	}
	
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "MODIFYDATETIME", length = 19)
	public Date getModifydatetime() {
		return modifydatetime;
	}

	public void setModifydatetime(Date modifydatetime) {
		this.modifydatetime = modifydatetime;
	}

	@Override
	public String toString() {
		return "Tproject [id=" + id + ", productName=" + productName + ", area=" + area + ", name=" + name
				+ ", operationType=" + operationType + ", currentVersion=" + currentVersion + ", targetVersion="
				+ targetVersion + ", type=" + type + ", humanResources=" + humanResources + ", process=" + process
				+ ", quality=" + quality + ", activeHumanResources=" + activeHumanResources + ", safeguardPM="
				+ safeguardPM + ", pmo=" + pmo + ", seAndSA=" + seAndSA + ", maintainPM=" + maintainPM + ", servicePM="
				+ servicePM + ", frontlinePM=" + frontlinePM + ", supportPersonnel=" + supportPersonnel
				+ ", supportTime=" + supportTime + ", progress=" + progress + ", startDateTime=" + startDateTime
				+ ", operationPlan=" + operationPlan + ", keyAdvances=" + keyAdvances + ", risk=" + risk
				+ ", modifydatetime=" + modifydatetime + "]";
	}

	

	
}
